// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.google.zxing.qrcode.decoder;
import com.google.zxing.FormatException;
import com.google.zxing.common.BitMatrix;
// Referenced classes of package com.google.zxing.qrcode.decoder:
// n, ErrorCorrectionLevel
public final class Version
{
private static final int a[] = {
31892, 34236, 39577, 42195, 48118, 51042, 55367, 58893, 63784, 0x10b78,
0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, 0x177ec, 0x18ec4, 0x191e1, 0x1afab,
0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b,
0x2542e, 0x26a64, 0x27541, 0x28c69
};
private static final Version b[] = b();
private final int c;
private final int d[];
private final ECBlocks e[];
private final int f;
private transient Version(int i, int ai[], ECBlocks aecblocks[])
{
int j = 0;
super();
c = i;
d = ai;
e = aecblocks;
int k = aecblocks[0].getECCodewordsPerBlock();
ECB aecb[] = aecblocks[0].getECBlocks();
int l = aecb.length;
int i1 = 0;
for (; j < l; j++)
{
ECB ecb = aecb[j];
i1 += ecb.getCount() * (k + ecb.getDataCodewords());
}
f = i1;
}
static Version a(int i)
{
int j = 0;
int k = 0x7fffffff;
int l = 0;
for (; j < a.length; j++)
{
int i1 = a[j];
if (i1 == i)
{
return getVersionForNumber(j + 7);
}
int j1 = n.a(i, i1);
if (j1 < k)
{
l = j + 7;
k = j1;
}
}
if (k <= 3)
{
return getVersionForNumber(l);
} else
{
return null;
}
}
private static Version[] b()
{
Version aversion[] = new Version[40];
int ai[] = new int[0];
ECBlocks aecblocks[] = new ECBlocks[4];
ECB aecb[] = new ECB[1];
aecb[0] = new ECB(1, 19);
aecblocks[0] = new ECBlocks(7, aecb);
ECB aecb1[] = new ECB[1];
aecb1[0] = new ECB(1, 16);
aecblocks[1] = new ECBlocks(10, aecb1);
ECB aecb2[] = new ECB[1];
aecb2[0] = new ECB(1, 13);
aecblocks[2] = new ECBlocks(13, aecb2);
ECB aecb3[] = new ECB[1];
aecb3[0] = new ECB(1, 9);
aecblocks[3] = new ECBlocks(17, aecb3);
aversion[0] = new Version(1, ai, aecblocks);
int ai1[] = {
6, 18
};
ECBlocks aecblocks1[] = new ECBlocks[4];
ECB aecb4[] = new ECB[1];
aecb4[0] = new ECB(1, 34);
aecblocks1[0] = new ECBlocks(10, aecb4);
ECB aecb5[] = new ECB[1];
aecb5[0] = new ECB(1, 28);
aecblocks1[1] = new ECBlocks(16, aecb5);
ECB aecb6[] = new ECB[1];
aecb6[0] = new ECB(1, 22);
aecblocks1[2] = new ECBlocks(22, aecb6);
ECB aecb7[] = new ECB[1];
aecb7[0] = new ECB(1, 16);
aecblocks1[3] = new ECBlocks(28, aecb7);
aversion[1] = new Version(2, ai1, aecblocks1);
int ai2[] = {
6, 22
};
ECBlocks aecblocks2[] = new ECBlocks[4];
ECB aecb8[] = new ECB[1];
aecb8[0] = new ECB(1, 55);
aecblocks2[0] = new ECBlocks(15, aecb8);
ECB aecb9[] = new ECB[1];
aecb9[0] = new ECB(1, 44);
aecblocks2[1] = new ECBlocks(26, aecb9);
ECB aecb10[] = new ECB[1];
aecb10[0] = new ECB(2, 17);
aecblocks2[2] = new ECBlocks(18, aecb10);
ECB aecb11[] = new ECB[1];
aecb11[0] = new ECB(2, 13);
aecblocks2[3] = new ECBlocks(22, aecb11);
aversion[2] = new Version(3, ai2, aecblocks2);
int ai3[] = {
6, 26
};
ECBlocks aecblocks3[] = new ECBlocks[4];
ECB aecb12[] = new ECB[1];
aecb12[0] = new ECB(1, 80);
aecblocks3[0] = new ECBlocks(20, aecb12);
ECB aecb13[] = new ECB[1];
aecb13[0] = new ECB(2, 32);
aecblocks3[1] = new ECBlocks(18, aecb13);
ECB aecb14[] = new ECB[1];
aecb14[0] = new ECB(2, 24);
aecblocks3[2] = new ECBlocks(26, aecb14);
ECB aecb15[] = new ECB[1];
aecb15[0] = new ECB(4, 9);
aecblocks3[3] = new ECBlocks(16, aecb15);
aversion[3] = new Version(4, ai3, aecblocks3);
int ai4[] = {
6, 30
};
ECBlocks aecblocks4[] = new ECBlocks[4];
ECB aecb16[] = new ECB[1];
aecb16[0] = new ECB(1, 108);
aecblocks4[0] = new ECBlocks(26, aecb16);
ECB aecb17[] = new ECB[1];
aecb17[0] = new ECB(2, 43);
aecblocks4[1] = new ECBlocks(24, aecb17);
ECB aecb18[] = new ECB[2];
aecb18[0] = new ECB(2, 15);
aecb18[1] = new ECB(2, 16);
aecblocks4[2] = new ECBlocks(18, aecb18);
ECB aecb19[] = new ECB[2];
aecb19[0] = new ECB(2, 11);
aecb19[1] = new ECB(2, 12);
aecblocks4[3] = new ECBlocks(22, aecb19);
aversion[4] = new Version(5, ai4, aecblocks4);
int ai5[] = {
6, 34
};
ECBlocks aecblocks5[] = new ECBlocks[4];
ECB aecb20[] = new ECB[1];
aecb20[0] = new ECB(2, 68);
aecblocks5[0] = new ECBlocks(18, aecb20);
ECB aecb21[] = new ECB[1];
aecb21[0] = new ECB(4, 27);
aecblocks5[1] = new ECBlocks(16, aecb21);
ECB aecb22[] = new ECB[1];
aecb22[0] = new ECB(4, 19);
aecblocks5[2] = new ECBlocks(24, aecb22);
ECB aecb23[] = new ECB[1];
aecb23[0] = new ECB(4, 15);
aecblocks5[3] = new ECBlocks(28, aecb23);
aversion[5] = new Version(6, ai5, aecblocks5);
int ai6[] = {
6, 22, 38
};
ECBlocks aecblocks6[] = new ECBlocks[4];
ECB aecb24[] = new ECB[1];
aecb24[0] = new ECB(2, 78);
aecblocks6[0] = new ECBlocks(20, aecb24);
ECB aecb25[] = new ECB[1];
aecb25[0] = new ECB(4, 31);
aecblocks6[1] = new ECBlocks(18, aecb25);
ECB aecb26[] = new ECB[2];
aecb26[0] = new ECB(2, 14);
aecb26[1] = new ECB(4, 15);
aecblocks6[2] = new ECBlocks(18, aecb26);
ECB aecb27[] = new ECB[2];
aecb27[0] = new ECB(4, 13);
aecb27[1] = new ECB(1, 14);
aecblocks6[3] = new ECBlocks(26, aecb27);
aversion[6] = new Version(7, ai6, aecblocks6);
int ai7[] = {
6, 24, 42
};
ECBlocks aecblocks7[] = new ECBlocks[4];
ECB aecb28[] = new ECB[1];
aecb28[0] = new ECB(2, 97);
aecblocks7[0] = new ECBlocks(24, aecb28);
ECB aecb29[] = new ECB[2];
aecb29[0] = new ECB(2, 38);
aecb29[1] = new ECB(2, 39);
aecblocks7[1] = new ECBlocks(22, aecb29);
ECB aecb30[] = new ECB[2];
aecb30[0] = new ECB(4, 18);
aecb30[1] = new ECB(2, 19);
aecblocks7[2] = new ECBlocks(22, aecb30);
ECB aecb31[] = new ECB[2];
aecb31[0] = new ECB(4, 14);
aecb31[1] = new ECB(2, 15);
aecblocks7[3] = new ECBlocks(26, aecb31);
aversion[7] = new Version(8, ai7, aecblocks7);
int ai8[] = {
6, 26, 46
};
ECBlocks aecblocks8[] = new ECBlocks[4];
ECB aecb32[] = new ECB[1];
aecb32[0] = new ECB(2, 116);
aecblocks8[0] = new ECBlocks(30, aecb32);
ECB aecb33[] = new ECB[2];
aecb33[0] = new ECB(3, 36);
aecb33[1] = new ECB(2, 37);
aecblocks8[1] = new ECBlocks(22, aecb33);
ECB aecb34[] = new ECB[2];
aecb34[0] = new ECB(4, 16);
aecb34[1] = new ECB(4, 17);
aecblocks8[2] = new ECBlocks(20, aecb34);
ECB aecb35[] = new ECB[2];
aecb35[0] = new ECB(4, 12);
aecb35[1] = new ECB(4, 13);
aecblocks8[3] = new ECBlocks(24, aecb35);
aversion[8] = new Version(9, ai8, aecblocks8);
int ai9[] = {
6, 28, 50
};
ECBlocks aecblocks9[] = new ECBlocks[4];
ECB aecb36[] = new ECB[2];
aecb36[0] = new ECB(2, 68);
aecb36[1] = new ECB(2, 69);
aecblocks9[0] = new ECBlocks(18, aecb36);
ECB aecb37[] = new ECB[2];
aecb37[0] = new ECB(4, 43);
aecb37[1] = new ECB(1, 44);
aecblocks9[1] = new ECBlocks(26, aecb37);
ECB aecb38[] = new ECB[2];
aecb38[0] = new ECB(6, 19);
aecb38[1] = new ECB(2, 20);
aecblocks9[2] = new ECBlocks(24, aecb38);
ECB aecb39[] = new ECB[2];
aecb39[0] = new ECB(6, 15);
aecb39[1] = new ECB(2, 16);
aecblocks9[3] = new ECBlocks(28, aecb39);
aversion[9] = new Version(10, ai9, aecblocks9);
int ai10[] = {
6, 30, 54
};
ECBlocks aecblocks10[] = new ECBlocks[4];
ECB aecb40[] = new ECB[1];
aecb40[0] = new ECB(4, 81);
aecblocks10[0] = new ECBlocks(20, aecb40);
ECB aecb41[] = new ECB[2];
aecb41[0] = new ECB(1, 50);
aecb41[1] = new ECB(4, 51);
aecblocks10[1] = new ECBlocks(30, aecb41);
ECB aecb42[] = new ECB[2];
aecb42[0] = new ECB(4, 22);
aecb42[1] = new ECB(4, 23);
aecblocks10[2] = new ECBlocks(28, aecb42);
ECB aecb43[] = new ECB[2];
aecb43[0] = new ECB(3, 12);
aecb43[1] = new ECB(8, 13);
aecblocks10[3] = new ECBlocks(24, aecb43);
aversion[10] = new Version(11, ai10, aecblocks10);
int ai11[] = {
6, 32, 58
};
ECBlocks aecblocks11[] = new ECBlocks[4];
ECB aecb44[] = new ECB[2];
aecb44[0] = new ECB(2, 92);
aecb44[1] = new ECB(2, 93);
aecblocks11[0] = new ECBlocks(24, aecb44);
ECB aecb45[] = new ECB[2];
aecb45[0] = new ECB(6, 36);
aecb45[1] = new ECB(2, 37);
aecblocks11[1] = new ECBlocks(22, aecb45);
ECB aecb46[] = new ECB[2];
aecb46[0] = new ECB(4, 20);
aecb46[1] = new ECB(6, 21);
aecblocks11[2] = new ECBlocks(26, aecb46);
ECB aecb47[] = new ECB[2];
aecb47[0] = new ECB(7, 14);
aecb47[1] = new ECB(4, 15);
aecblocks11[3] = new ECBlocks(28, aecb47);
aversion[11] = new Version(12, ai11, aecblocks11);
int ai12[] = {
6, 34, 62
};
ECBlocks aecblocks12[] = new ECBlocks[4];
ECB aecb48[] = new ECB[1];
aecb48[0] = new ECB(4, 107);
aecblocks12[0] = new ECBlocks(26, aecb48);
ECB aecb49[] = new ECB[2];
aecb49[0] = new ECB(8, 37);
aecb49[1] = new ECB(1, 38);
aecblocks12[1] = new ECBlocks(22, aecb49);
ECB aecb50[] = new ECB[2];
aecb50[0] = new ECB(8, 20);
aecb50[1] = new ECB(4, 21);
aecblocks12[2] = new ECBlocks(24, aecb50);
ECB aecb51[] = new ECB[2];
aecb51[0] = new ECB(12, 11);
aecb51[1] = new ECB(4, 12);
aecblocks12[3] = new ECBlocks(22, aecb51);
aversion[12] = new Version(13, ai12, aecblocks12);
int ai13[] = {
6, 26, 46, 66
};
ECBlocks aecblocks13[] = new ECBlocks[4];
ECB aecb52[] = new ECB[2];
aecb52[0] = new ECB(3, 115);
aecb52[1] = new ECB(1, 116);
aecblocks13[0] = new ECBlocks(30, aecb52);
ECB aecb53[] = new ECB[2];
aecb53[0] = new ECB(4, 40);
aecb53[1] = new ECB(5, 41);
aecblocks13[1] = new ECBlocks(24, aecb53);
ECB aecb54[] = new ECB[2];
aecb54[0] = new ECB(11, 16);
aecb54[1] = new ECB(5, 17);
aecblocks13[2] = new ECBlocks(20, aecb54);
ECB aecb55[] = new ECB[2];
aecb55[0] = new ECB(11, 12);
aecb55[1] = new ECB(5, 13);
aecblocks13[3] = new ECBlocks(24, aecb55);
aversion[13] = new Version(14, ai13, aecblocks13);
int ai14[] = {
6, 26, 48, 70
};
ECBlocks aecblocks14[] = new ECBlocks[4];
ECB aecb56[] = new ECB[2];
aecb56[0] = new ECB(5, 87);
aecb56[1] = new ECB(1, 88);
aecblocks14[0] = new ECBlocks(22, aecb56);
ECB aecb57[] = new ECB[2];
aecb57[0] = new ECB(5, 41);
aecb57[1] = new ECB(5, 42);
aecblocks14[1] = new ECBlocks(24, aecb57);
ECB aecb58[] = new ECB[2];
aecb58[0] = new ECB(5, 24);
aecb58[1] = new ECB(7, 25);
aecblocks14[2] = new ECBlocks(30, aecb58);
ECB aecb59[] = new ECB[2];
aecb59[0] = new ECB(11, 12);
aecb59[1] = new ECB(7, 13);
aecblocks14[3] = new ECBlocks(24, aecb59);
aversion[14] = new Version(15, ai14, aecblocks14);
int ai15[] = {
6, 26, 50, 74
};
ECBlocks aecblocks15[] = new ECBlocks[4];
ECB aecb60[] = new ECB[2];
aecb60[0] = new ECB(5, 98);
aecb60[1] = new ECB(1, 99);
aecblocks15[0] = new ECBlocks(24, aecb60);
ECB aecb61[] = new ECB[2];
aecb61[0] = new ECB(7, 45);
aecb61[1] = new ECB(3, 46);
aecblocks15[1] = new ECBlocks(28, aecb61);
ECB aecb62[] = new ECB[2];
aecb62[0] = new ECB(15, 19);
aecb62[1] = new ECB(2, 20);
aecblocks15[2] = new ECBlocks(24, aecb62);
ECB aecb63[] = new ECB[2];
aecb63[0] = new ECB(3, 15);
aecb63[1] = new ECB(13, 16);
aecblocks15[3] = new ECBlocks(30, aecb63);
aversion[15] = new Version(16, ai15, aecblocks15);
int ai16[] = {
6, 30, 54, 78
};
ECBlocks aecblocks16[] = new ECBlocks[4];
ECB aecb64[] = new ECB[2];
aecb64[0] = new ECB(1, 107);
aecb64[1] = new ECB(5, 108);
aecblocks16[0] = new ECBlocks(28, aecb64);
ECB aecb65[] = new ECB[2];
aecb65[0] = new ECB(10, 46);
aecb65[1] = new ECB(1, 47);
aecblocks16[1] = new ECBlocks(28, aecb65);
ECB aecb66[] = new ECB[2];
aecb66[0] = new ECB(1, 22);
aecb66[1] = new ECB(15, 23);
aecblocks16[2] = new ECBlocks(28, aecb66);
ECB aecb67[] = new ECB[2];
aecb67[0] = new ECB(2, 14);
aecb67[1] = new ECB(17, 15);
aecblocks16[3] = new ECBlocks(28, aecb67);
aversion[16] = new Version(17, ai16, aecblocks16);
int ai17[] = {
6, 30, 56, 82
};
ECBlocks aecblocks17[] = new ECBlocks[4];
ECB aecb68[] = new ECB[2];
aecb68[0] = new ECB(5, 120);
aecb68[1] = new ECB(1, 121);
aecblocks17[0] = new ECBlocks(30, aecb68);
ECB aecb69[] = new ECB[2];
aecb69[0] = new ECB(9, 43);
aecb69[1] = new ECB(4, 44);
aecblocks17[1] = new ECBlocks(26, aecb69);
ECB aecb70[] = new ECB[2];
aecb70[0] = new ECB(17, 22);
aecb70[1] = new ECB(1, 23);
aecblocks17[2] = new ECBlocks(28, aecb70);
ECB aecb71[] = new ECB[2];
aecb71[0] = new ECB(2, 14);
aecb71[1] = new ECB(19, 15);
aecblocks17[3] = new ECBlocks(28, aecb71);
aversion[17] = new Version(18, ai17, aecblocks17);
int ai18[] = {
6, 30, 58, 86
};
ECBlocks aecblocks18[] = new ECBlocks[4];
ECB aecb72[] = new ECB[2];
aecb72[0] = new ECB(3, 113);
aecb72[1] = new ECB(4, 114);
aecblocks18[0] = new ECBlocks(28, aecb72);
ECB aecb73[] = new ECB[2];
aecb73[0] = new ECB(3, 44);
aecb73[1] = new ECB(11, 45);
aecblocks18[1] = new ECBlocks(26, aecb73);
ECB aecb74[] = new ECB[2];
aecb74[0] = new ECB(17, 21);
aecb74[1] = new ECB(4, 22);
aecblocks18[2] = new ECBlocks(26, aecb74);
ECB aecb75[] = new ECB[2];
aecb75[0] = new ECB(9, 13);
aecb75[1] = new ECB(16, 14);
aecblocks18[3] = new ECBlocks(26, aecb75);
aversion[18] = new Version(19, ai18, aecblocks18);
int ai19[] = {
6, 34, 62, 90
};
ECBlocks aecblocks19[] = new ECBlocks[4];
ECB aecb76[] = new ECB[2];
aecb76[0] = new ECB(3, 107);
aecb76[1] = new ECB(5, 108);
aecblocks19[0] = new ECBlocks(28, aecb76);
ECB aecb77[] = new ECB[2];
aecb77[0] = new ECB(3, 41);
aecb77[1] = new ECB(13, 42);
aecblocks19[1] = new ECBlocks(26, aecb77);
ECB aecb78[] = new ECB[2];
aecb78[0] = new ECB(15, 24);
aecb78[1] = new ECB(5, 25);
aecblocks19[2] = new ECBlocks(30, aecb78);
ECB aecb79[] = new ECB[2];
aecb79[0] = new ECB(15, 15);
aecb79[1] = new ECB(10, 16);
aecblocks19[3] = new ECBlocks(28, aecb79);
aversion[19] = new Version(20, ai19, aecblocks19);
int ai20[] = {
6, 28, 50, 72, 94
};
ECBlocks aecblocks20[] = new ECBlocks[4];
ECB aecb80[] = new ECB[2];
aecb80[0] = new ECB(4, 116);
aecb80[1] = new ECB(4, 117);
aecblocks20[0] = new ECBlocks(28, aecb80);
ECB aecb81[] = new ECB[1];
aecb81[0] = new ECB(17, 42);
aecblocks20[1] = new ECBlocks(26, aecb81);
ECB aecb82[] = new ECB[2];
aecb82[0] = new ECB(17, 22);
aecb82[1] = new ECB(6, 23);
aecblocks20[2] = new ECBlocks(28, aecb82);
ECB aecb83[] = new ECB[2];
aecb83[0] = new ECB(19, 16);
aecb83[1] = new ECB(6, 17);
aecblocks20[3] = new ECBlocks(30, aecb83);
aversion[20] = new Version(21, ai20, aecblocks20);
int ai21[] = {
6, 26, 50, 74, 98
};
ECBlocks aecblocks21[] = new ECBlocks[4];
ECB aecb84[] = new ECB[2];
aecb84[0] = new ECB(2, 111);
aecb84[1] = new ECB(7, 112);
aecblocks21[0] = new ECBlocks(28, aecb84);
ECB aecb85[] = new ECB[1];
aecb85[0] = new ECB(17, 46);
aecblocks21[1] = new ECBlocks(28, aecb85);
ECB aecb86[] = new ECB[2];
aecb86[0] = new ECB(7, 24);
aecb86[1] = new ECB(16, 25);
aecblocks21[2] = new ECBlocks(30, aecb86);
ECB aecb87[] = new ECB[1];
aecb87[0] = new ECB(34, 13);
aecblocks21[3] = new ECBlocks(24, aecb87);
aversion[21] = new Version(22, ai21, aecblocks21);
int ai22[] = {
6, 30, 54, 78, 102
};
ECBlocks aecblocks22[] = new ECBlocks[4];
ECB aecb88[] = new ECB[2];
aecb88[0] = new ECB(4, 121);
aecb88[1] = new ECB(5, 122);
aecblocks22[0] = new ECBlocks(30, aecb88);
ECB aecb89[] = new ECB[2];
aecb89[0] = new ECB(4, 47);
aecb89[1] = new ECB(14, 48);
aecblocks22[1] = new ECBlocks(28, aecb89);
ECB aecb90[] = new ECB[2];
aecb90[0] = new ECB(11, 24);
aecb90[1] = new ECB(14, 25);
aecblocks22[2] = new ECBlocks(30, aecb90);
ECB aecb91[] = new ECB[2];
aecb91[0] = new ECB(16, 15);
aecb91[1] = new ECB(14, 16);
aecblocks22[3] = new ECBlocks(30, aecb91);
aversion[22] = new Version(23, ai22, aecblocks22);
int ai23[] = {
6, 28, 54, 80, 106
};
ECBlocks aecblocks23[] = new ECBlocks[4];
ECB aecb92[] = new ECB[2];
aecb92[0] = new ECB(6, 117);
aecb92[1] = new ECB(4, 118);
aecblocks23[0] = new ECBlocks(30, aecb92);
ECB aecb93[] = new ECB[2];
aecb93[0] = new ECB(6, 45);
aecb93[1] = new ECB(14, 46);
aecblocks23[1] = new ECBlocks(28, aecb93);
ECB aecb94[] = new ECB[2];
aecb94[0] = new ECB(11, 24);
aecb94[1] = new ECB(16, 25);
aecblocks23[2] = new ECBlocks(30, aecb94);
ECB aecb95[] = new ECB[2];
aecb95[0] = new ECB(30, 16);
aecb95[1] = new ECB(2, 17);
aecblocks23[3] = new ECBlocks(30, aecb95);
aversion[23] = new Version(24, ai23, aecblocks23);
int ai24[] = {
6, 32, 58, 84, 110
};
ECBlocks aecblocks24[] = new ECBlocks[4];
ECB aecb96[] = new ECB[2];
aecb96[0] = new ECB(8, 106);
aecb96[1] = new ECB(4, 107);
aecblocks24[0] = new ECBlocks(26, aecb96);
ECB aecb97[] = new ECB[2];
aecb97[0] = new ECB(8, 47);
aecb97[1] = new ECB(13, 48);
aecblocks24[1] = new ECBlocks(28, aecb97);
ECB aecb98[] = new ECB[2];
aecb98[0] = new ECB(7, 24);
aecb98[1] = new ECB(22, 25);
aecblocks24[2] = new ECBlocks(30, aecb98);
ECB aecb99[] = new ECB[2];
aecb99[0] = new ECB(22, 15);
aecb99[1] = new ECB(13, 16);
aecblocks24[3] = new ECBlocks(30, aecb99);
aversion[24] = new Version(25, ai24, aecblocks24);
int ai25[] = {
6, 30, 58, 86, 114
};
ECBlocks aecblocks25[] = new ECBlocks[4];
ECB aecb100[] = new ECB[2];
aecb100[0] = new ECB(10, 114);
aecb100[1] = new ECB(2, 115);
aecblocks25[0] = new ECBlocks(28, aecb100);
ECB aecb101[] = new ECB[2];
aecb101[0] = new ECB(19, 46);
aecb101[1] = new ECB(4, 47);
aecblocks25[1] = new ECBlocks(28, aecb101);
ECB aecb102[] = new ECB[2];
aecb102[0] = new ECB(28, 22);
aecb102[1] = new ECB(6, 23);
aecblocks25[2] = new ECBlocks(28, aecb102);
ECB aecb103[] = new ECB[2];
aecb103[0] = new ECB(33, 16);
aecb103[1] = new ECB(4, 17);
aecblocks25[3] = new ECBlocks(30, aecb103);
aversion[25] = new Version(26, ai25, aecblocks25);
int ai26[] = {
6, 34, 62, 90, 118
};
ECBlocks aecblocks26[] = new ECBlocks[4];
ECB aecb104[] = new ECB[2];
aecb104[0] = new ECB(8, 122);
aecb104[1] = new ECB(4, 123);
aecblocks26[0] = new ECBlocks(30, aecb104);
ECB aecb105[] = new ECB[2];
aecb105[0] = new ECB(22, 45);
aecb105[1] = new ECB(3, 46);
aecblocks26[1] = new ECBlocks(28, aecb105);
ECB aecb106[] = new ECB[2];
aecb106[0] = new ECB(8, 23);
aecb106[1] = new ECB(26, 24);
aecblocks26[2] = new ECBlocks(30, aecb106);
ECB aecb107[] = new ECB[2];
aecb107[0] = new ECB(12, 15);
aecb107[1] = new ECB(28, 16);
aecblocks26[3] = new ECBlocks(30, aecb107);
aversion[26] = new Version(27, ai26, aecblocks26);
int ai27[] = {
6, 26, 50, 74, 98, 122
};
ECBlocks aecblocks27[] = new ECBlocks[4];
ECB aecb108[] = new ECB[2];
aecb108[0] = new ECB(3, 117);
aecb108[1] = new ECB(10, 118);
aecblocks27[0] = new ECBlocks(30, aecb108);
ECB aecb109[] = new ECB[2];
aecb109[0] = new ECB(3, 45);
aecb109[1] = new ECB(23, 46);
aecblocks27[1] = new ECBlocks(28, aecb109);
ECB aecb110[] = new ECB[2];
aecb110[0] = new ECB(4, 24);
aecb110[1] = new ECB(31, 25);
aecblocks27[2] = new ECBlocks(30, aecb110);
ECB aecb111[] = new ECB[2];
aecb111[0] = new ECB(11, 15);
aecb111[1] = new ECB(31, 16);
aecblocks27[3] = new ECBlocks(30, aecb111);
aversion[27] = new Version(28, ai27, aecblocks27);
int ai28[] = {
6, 30, 54, 78, 102, 126
};
ECBlocks aecblocks28[] = new ECBlocks[4];
ECB aecb112[] = new ECB[2];
aecb112[0] = new ECB(7, 116);
aecb112[1] = new ECB(7, 117);
aecblocks28[0] = new ECBlocks(30, aecb112);
ECB aecb113[] = new ECB[2];
aecb113[0] = new ECB(21, 45);
aecb113[1] = new ECB(7, 46);
aecblocks28[1] = new ECBlocks(28, aecb113);
ECB aecb114[] = new ECB[2];
aecb114[0] = new ECB(1, 23);
aecb114[1] = new ECB(37, 24);
aecblocks28[2] = new ECBlocks(30, aecb114);
ECB aecb115[] = new ECB[2];
aecb115[0] = new ECB(19, 15);
aecb115[1] = new ECB(26, 16);
aecblocks28[3] = new ECBlocks(30, aecb115);
aversion[28] = new Version(29, ai28, aecblocks28);
int ai29[] = {
6, 26, 52, 78, 104, 130
};
ECBlocks aecblocks29[] = new ECBlocks[4];
ECB aecb116[] = new ECB[2];
aecb116[0] = new ECB(5, 115);
aecb116[1] = new ECB(10, 116);
aecblocks29[0] = new ECBlocks(30, aecb116);
ECB aecb117[] = new ECB[2];
aecb117[0] = new ECB(19, 47);
aecb117[1] = new ECB(10, 48);
aecblocks29[1] = new ECBlocks(28, aecb117);
ECB aecb118[] = new ECB[2];
aecb118[0] = new ECB(15, 24);
aecb118[1] = new ECB(25, 25);
aecblocks29[2] = new ECBlocks(30, aecb118);
ECB aecb119[] = new ECB[2];
aecb119[0] = new ECB(23, 15);
aecb119[1] = new ECB(25, 16);
aecblocks29[3] = new ECBlocks(30, aecb119);
aversion[29] = new Version(30, ai29, aecblocks29);
int ai30[] = {
6, 30, 56, 82, 108, 134
};
ECBlocks aecblocks30[] = new ECBlocks[4];
ECB aecb120[] = new ECB[2];
aecb120[0] = new ECB(13, 115);
aecb120[1] = new ECB(3, 116);
aecblocks30[0] = new ECBlocks(30, aecb120);
ECB aecb121[] = new ECB[2];
aecb121[0] = new ECB(2, 46);
aecb121[1] = new ECB(29, 47);
aecblocks30[1] = new ECBlocks(28, aecb121);
ECB aecb122[] = new ECB[2];
aecb122[0] = new ECB(42, 24);
aecb122[1] = new ECB(1, 25);
aecblocks30[2] = new ECBlocks(30, aecb122);
ECB aecb123[] = new ECB[2];
aecb123[0] = new ECB(23, 15);
aecb123[1] = new ECB(28, 16);
aecblocks30[3] = new ECBlocks(30, aecb123);
aversion[30] = new Version(31, ai30, aecblocks30);
int ai31[] = {
6, 34, 60, 86, 112, 138
};
ECBlocks aecblocks31[] = new ECBlocks[4];
ECB aecb124[] = new ECB[1];
aecb124[0] = new ECB(17, 115);
aecblocks31[0] = new ECBlocks(30, aecb124);
ECB aecb125[] = new ECB[2];
aecb125[0] = new ECB(10, 46);
aecb125[1] = new ECB(23, 47);
aecblocks31[1] = new ECBlocks(28, aecb125);
ECB aecb126[] = new ECB[2];
aecb126[0] = new ECB(10, 24);
aecb126[1] = new ECB(35, 25);
aecblocks31[2] = new ECBlocks(30, aecb126);
ECB aecb127[] = new ECB[2];
aecb127[0] = new ECB(19, 15);
aecb127[1] = new ECB(35, 16);
aecblocks31[3] = new ECBlocks(30, aecb127);
aversion[31] = new Version(32, ai31, aecblocks31);
int ai32[] = {
6, 30, 58, 86, 114, 142
};
ECBlocks aecblocks32[] = new ECBlocks[4];
ECB aecb128[] = new ECB[2];
aecb128[0] = new ECB(17, 115);
aecb128[1] = new ECB(1, 116);
aecblocks32[0] = new ECBlocks(30, aecb128);
ECB aecb129[] = new ECB[2];
aecb129[0] = new ECB(14, 46);
aecb129[1] = new ECB(21, 47);
aecblocks32[1] = new ECBlocks(28, aecb129);
ECB aecb130[] = new ECB[2];
aecb130[0] = new ECB(29, 24);
aecb130[1] = new ECB(19, 25);
aecblocks32[2] = new ECBlocks(30, aecb130);
ECB aecb131[] = new ECB[2];
aecb131[0] = new ECB(11, 15);
aecb131[1] = new ECB(46, 16);
aecblocks32[3] = new ECBlocks(30, aecb131);
aversion[32] = new Version(33, ai32, aecblocks32);
int ai33[] = {
6, 34, 62, 90, 118, 146
};
ECBlocks aecblocks33[] = new ECBlocks[4];
ECB aecb132[] = new ECB[2];
aecb132[0] = new ECB(13, 115);
aecb132[1] = new ECB(6, 116);
aecblocks33[0] = new ECBlocks(30, aecb132);
ECB aecb133[] = new ECB[2];
aecb133[0] = new ECB(14, 46);
aecb133[1] = new ECB(23, 47);
aecblocks33[1] = new ECBlocks(28, aecb133);
ECB aecb134[] = new ECB[2];
aecb134[0] = new ECB(44, 24);
aecb134[1] = new ECB(7, 25);
aecblocks33[2] = new ECBlocks(30, aecb134);
ECB aecb135[] = new ECB[2];
aecb135[0] = new ECB(59, 16);
aecb135[1] = new ECB(1, 17);
aecblocks33[3] = new ECBlocks(30, aecb135);
aversion[33] = new Version(34, ai33, aecblocks33);
int ai34[] = {
6, 30, 54, 78, 102, 126, 150
};
ECBlocks aecblocks34[] = new ECBlocks[4];
ECB aecb136[] = new ECB[2];
aecb136[0] = new ECB(12, 121);
aecb136[1] = new ECB(7, 122);
aecblocks34[0] = new ECBlocks(30, aecb136);
ECB aecb137[] = new ECB[2];
aecb137[0] = new ECB(12, 47);
aecb137[1] = new ECB(26, 48);
aecblocks34[1] = new ECBlocks(28, aecb137);
ECB aecb138[] = new ECB[2];
aecb138[0] = new ECB(39, 24);
aecb138[1] = new ECB(14, 25);
aecblocks34[2] = new ECBlocks(30, aecb138);
ECB aecb139[] = new ECB[2];
aecb139[0] = new ECB(22, 15);
aecb139[1] = new ECB(41, 16);
aecblocks34[3] = new ECBlocks(30, aecb139);
aversion[34] = new Version(35, ai34, aecblocks34);
int ai35[] = {
6, 24, 50, 76, 102, 128, 154
};
ECBlocks aecblocks35[] = new ECBlocks[4];
ECB aecb140[] = new ECB[2];
aecb140[0] = new ECB(6, 121);
aecb140[1] = new ECB(14, 122);
aecblocks35[0] = new ECBlocks(30, aecb140);
ECB aecb141[] = new ECB[2];
aecb141[0] = new ECB(6, 47);
aecb141[1] = new ECB(34, 48);
aecblocks35[1] = new ECBlocks(28, aecb141);
ECB aecb142[] = new ECB[2];
aecb142[0] = new ECB(46, 24);
aecb142[1] = new ECB(10, 25);
aecblocks35[2] = new ECBlocks(30, aecb142);
ECB aecb143[] = new ECB[2];
aecb143[0] = new ECB(2, 15);
aecb143[1] = new ECB(64, 16);
aecblocks35[3] = new ECBlocks(30, aecb143);
aversion[35] = new Version(36, ai35, aecblocks35);
int ai36[] = {
6, 28, 54, 80, 106, 132, 158
};
ECBlocks aecblocks36[] = new ECBlocks[4];
ECB aecb144[] = new ECB[2];
aecb144[0] = new ECB(17, 122);
aecb144[1] = new ECB(4, 123);
aecblocks36[0] = new ECBlocks(30, aecb144);
ECB aecb145[] = new ECB[2];
aecb145[0] = new ECB(29, 46);
aecb145[1] = new ECB(14, 47);
aecblocks36[1] = new ECBlocks(28, aecb145);
ECB aecb146[] = new ECB[2];
aecb146[0] = new ECB(49, 24);
aecb146[1] = new ECB(10, 25);
aecblocks36[2] = new ECBlocks(30, aecb146);
ECB aecb147[] = new ECB[2];
aecb147[0] = new ECB(24, 15);
aecb147[1] = new ECB(46, 16);
aecblocks36[3] = new ECBlocks(30, aecb147);
aversion[36] = new Version(37, ai36, aecblocks36);
int ai37[] = {
6, 32, 58, 84, 110, 136, 162
};
ECBlocks aecblocks37[] = new ECBlocks[4];
ECB aecb148[] = new ECB[2];
aecb148[0] = new ECB(4, 122);
aecb148[1] = new ECB(18, 123);
aecblocks37[0] = new ECBlocks(30, aecb148);
ECB aecb149[] = new ECB[2];
aecb149[0] = new ECB(13, 46);
aecb149[1] = new ECB(32, 47);
aecblocks37[1] = new ECBlocks(28, aecb149);
ECB aecb150[] = new ECB[2];
aecb150[0] = new ECB(48, 24);
aecb150[1] = new ECB(14, 25);
aecblocks37[2] = new ECBlocks(30, aecb150);
ECB aecb151[] = new ECB[2];
aecb151[0] = new ECB(42, 15);
aecb151[1] = new ECB(32, 16);
aecblocks37[3] = new ECBlocks(30, aecb151);
aversion[37] = new Version(38, ai37, aecblocks37);
int ai38[] = {
6, 26, 54, 82, 110, 138, 166
};
ECBlocks aecblocks38[] = new ECBlocks[4];
ECB aecb152[] = new ECB[2];
aecb152[0] = new ECB(20, 117);
aecb152[1] = new ECB(4, 118);
aecblocks38[0] = new ECBlocks(30, aecb152);
ECB aecb153[] = new ECB[2];
aecb153[0] = new ECB(40, 47);
aecb153[1] = new ECB(7, 48);
aecblocks38[1] = new ECBlocks(28, aecb153);
ECB aecb154[] = new ECB[2];
aecb154[0] = new ECB(43, 24);
aecb154[1] = new ECB(22, 25);
aecblocks38[2] = new ECBlocks(30, aecb154);
ECB aecb155[] = new ECB[2];
aecb155[0] = new ECB(10, 15);
aecb155[1] = new ECB(67, 16);
aecblocks38[3] = new ECBlocks(30, aecb155);
aversion[38] = new Version(39, ai38, aecblocks38);
int ai39[] = {
6, 30, 58, 86, 114, 142, 170
};
ECBlocks aecblocks39[] = new ECBlocks[4];
ECB aecb156[] = new ECB[2];
aecb156[0] = new ECB(19, 118);
aecb156[1] = new ECB(6, 119);
aecblocks39[0] = new ECBlocks(30, aecb156);
ECB aecb157[] = new ECB[2];
aecb157[0] = new ECB(18, 47);
aecb157[1] = new ECB(31, 48);
aecblocks39[1] = new ECBlocks(28, aecb157);
ECB aecb158[] = new ECB[2];
aecb158[0] = new ECB(34, 24);
aecb158[1] = new ECB(34, 25);
aecblocks39[2] = new ECBlocks(30, aecb158);
ECB aecb159[] = new ECB[2];
aecb159[0] = new ECB(20, 15);
aecb159[1] = new ECB(61, 16);
aecblocks39[3] = new ECBlocks(30, aecb159);
aversion[39] = new Version(40, ai39, aecblocks39);
return aversion;
}
public static Version getProvisionalVersionForDimension(int i)
{
if (i % 4 != 1)
{
throw FormatException.getFormatInstance();
}
int j = i - 17 >> 2;
Version version;
try
{
version = getVersionForNumber(j);
}
catch (IllegalArgumentException illegalargumentexception)
{
throw FormatException.getFormatInstance();
}
return version;
}
public static Version getVersionForNumber(int i)
{
if (i < 1 || i > 40)
{
throw new IllegalArgumentException();
} else
{
return b[i - 1];
}
}
BitMatrix a()
{
int i = getDimensionForVersion();
BitMatrix bitmatrix = new BitMatrix(i);
bitmatrix.setRegion(0, 0, 9, 9);
bitmatrix.setRegion(i - 8, 0, 8, 9);
bitmatrix.setRegion(0, i - 8, 9, 8);
int j = d.length;
for (int k = 0; k < j; k++)
{
int l = -2 + d[k];
int i1 = 0;
while (i1 < j)
{
if ((k != 0 || i1 != 0 && i1 != j - 1) && (k != j - 1 || i1 != 0))
{
bitmatrix.setRegion(-2 + d[i1], l, 5, 5);
}
i1++;
}
}
bitmatrix.setRegion(6, 9, 1, i - 17);
bitmatrix.setRegion(9, 6, i - 17, 1);
if (c > 6)
{
bitmatrix.setRegion(i - 11, 0, 3, 6);
bitmatrix.setRegion(0, i - 11, 6, 3);
}
return bitmatrix;
}
public int[] getAlignmentPatternCenters()
{
return d;
}
public int getDimensionForVersion()
{
return 17 + 4 * c;
}
public ECBlocks getECBlocksForLevel(ErrorCorrectionLevel errorcorrectionlevel)
{
return e[errorcorrectionlevel.ordinal()];
}
public int getTotalCodewords()
{
return f;
}
public int getVersionNumber()
{
return c;
}
public String toString()
{
return String.valueOf(c);
}
private class ECBlocks
{
private final int a;
private final ECB b[];
public ECB[] getECBlocks()
{
return b;
}
public int getECCodewordsPerBlock()
{
return a;
}
public int getNumBlocks()
{
int i = 0;
ECB aecb[] = b;
int j = aecb.length;
int k = 0;
for (; i < j; i++)
{
k += aecb[i].getCount();
}
return k;
}
public int getTotalECCodewords()
{
return a * getNumBlocks();
}
transient ECBlocks(int i, ECB aecb[])
{
a = i;
b = aecb;
}
}
private class ECB
{
private final int a;
private final int b;
public int getCount()
{
return a;
}
public int getDataCodewords()
{
return b;
}
ECB(int i, int j)
{
a = i;
b = j;
}
}
}